home *** CD-ROM | disk | FTP | other *** search
-
-
- BYTE huge *DibDataAddress (BYTE huge *pDib)
- {
- DWORD dwInfoSize = ((LPBITMAPINFOHEADER) pDib)->biSize ;
- int iBitCount, iRgbSize = 0 ;
-
- if (dwInfoSize == sizeof (BITMAPCOREHEADER))
- {
- if (24 != (iBitCount = ((LPBITMAPCOREHEADER) pDib)->bcBitCount))
- iRgbSize = (1 << iBitCount) * sizeof (RGBTRIPLE) ;
- }
- else
- {
- if (dwInfoSize >= 36)
- iRgbSize = ((LPBITMAPINFOHEADER) pDib)->biClrUsed *
- sizeof (RGBQUAD) ;
- if (iRgbSize == 0)
- if (24 != (iBitCount = ((LPBITMAPINFOHEADER) pDib)->bcBitCount))
- iRgbSize = (1 << iBitCount) * sizeof (RGBQUAD) ;
- }
-
- return pDib + dwInfoSize + iRgbSize ;
- }
-
-